package pl.pawluk.inz.utils;


import pl.pawluk.inz.exceptions.VLPException;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * <p>
 * Klasa <code>EncryptionUtils</code> zawiera metody zwi_zane z kodowaniem hase_ użytkowników w systemie SDO.
 * </p>
 *
 * @author Piotr Pawluk
 */
public class EncryptionUtils {

    /**
     * <p>
     * Metoda koduje podany tekst przy pomocy algorytmu SHA.
     * </p>
     *
     * @param tekst tekst do zakodowania
     * @return tekst zakodowany
     * @throws java.security.NoSuchAlgorithmException
     *
     */
    public static String encode(String tekst) {
        String wynik = null;
        if (tekst != null) {
            MessageDigest md;
            try {
                md = MessageDigest.getInstance("SHA-256");
                md.update(tekst.getBytes());
                byte[] dig = md.digest();
                wynik = Base64.encodeBytes(dig);
            } catch (NoSuchAlgorithmException e) {
                throw new VLPException(e);
            }
        }
        return wynik;
    }
}